/*
	Flie:						Credits State.h
	Course:				Sgp 1208
	Author:				Kori Po
	Purpose:			Credits System
*/

#pragma once
#include "IState.h"

// SGD Wrappers
#include "../SGD Wrappers/CSGD_Direct3D.h"
#include "../SGD Wrappers/CSGD_DirectInput.h"
#include "../SGD Wrappers/CSGD_TextureManager.h"
#include "../SGD Wrappers/CSGD_XAudio2.h"

//Font
#include "TempFont.h"

#define CREDITLINES 10

class CCreditsState : public IState
{
private:
	CCreditsState(void);
	~CCreditsState(void);

	// Wrapper Pointers
	CSGD_Direct3D*						m_3DGuy;
	CSGD_DirectInput*					m_InputGuy;
	CSGD_TextureManager*		m_TextureGuy;
	CSGD_XAudio2*							m_AudioGuy;

	// Asset IDs
	int							m_nBackGroundID;

	// Font DMs
	CTempFont*		m_MenuFont;
	char*						m_szCreditLine[CREDITLINES];
	int							m_nScroller;
	bool						m_Finished;

public:
	// SINGLETON
	static CCreditsState* GetInstance( void );

	// EnE Functions
	virtual void Enter(void);			//Load Resources
	virtual void Exit(void);				//Unload Resources
	
	// Running Functions
	virtual bool Input(void);			//Handle user input
	virtual void Update(float fElapsedTime);		//Update game tokens
	virtual void Render(void) ;		//Render game tokens

};

